#include <QCoreApplication>
#include <QString>
#include <QDebug>






void testQString()
{
    QString str;

    //    str.asprintf("%s","hello ");
    // str.sprintf("%s","hello ");

    str+= "world";

    qDebug() << str << Qt::endl;
}

void testQString2()
{
    QString str = "%1 %2 %3";

    QString cstr = str.arg("aaa").arg("bbb").arg("ccc");

    if(cstr.endsWith("ccc"))
    {
        qDebug() << "true" << Qt::endl;
    }
    else
    {
        qDebug() << "false" << Qt::endl;
    }


    int index = cstr.indexOf("bbb");

    QString str2;
    str2.setNum(index);

    qDebug() << index << Qt::endl;
    qDebug() << str2 << Qt::endl;

    qDebug() << str << Qt::endl;
    qDebug() << cstr << Qt::endl;


    QString line = "key1:value1,key2:value2,key3:value3";
    QStringList slist = line.split(",");



    for(QString str : slist)
    {
        qDebug() << str << Qt::endl;
    }

    QList<QString>::iterator it = slist.begin();
    for(;it != slist.end();it++)
    {
        qDebug() << *it << Qt::endl;
    }
}

void testQString3()
{
    QString str = "hello world";
    // 替换掉字符,从0开始替换掉2个字符，用“a"替换
    //    str.replace(0,2,"a");
    str.replace(0,5,"welcome ");
    qDebug() << str << Qt::endl;

}

void testQString4()

{
    QString str = "welcome to china!";
    bool b = str.contains("to",Qt::CaseInsensitive);
    if(b)
    {
        qDebug() << "包含" <<Qt::endl;
    }
    else
    {
        qDebug() << "不包含" << Qt::endl;
    }
}

void testQList()
{
    QStringList slist;
    slist << "aaa";
    slist << "bbb";
    slist << "ccc" << "ddd" << "eee" ;

    //    QListIterator<QString> it(slist);

    //    while(it.hasNext())
    //    {
    //        qDebug() << it.next() << endl;
    //    }

    //    for(QString str:slist)
    //    {
    //        qDebug() << str << endl;
    //    }

    QList<QString>::iterator it = slist.begin();
    for(;it != slist.end();it++)
    {
        qDebug() << *it << Qt::endl;
    }
}

void testQMap()
{
    QMap<QString,QString> map;
    map.insert("1","yejing");
    map.insert("2","zhangsan");
    map.insert("3","wangwu");

    //    QMapIterator<QString,QString> it(map);
    //    for(;it.hasNext();)
    //    {
    //        it.next();
    //        qDebug() << it.key() << ":" << it.value() << endl;
    //    }

    QMap<QString,QString>::iterator it2 = map.begin();
    for(;it2 != map.end();it2++)
    {
        qDebug() << it2.key() << ":" << it2.value() << Qt::endl;
    }


}


int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    //    testQString4();
    //    testQList();
    testQMap();

    return a.exec();
}
